'''
目标：① 能够说出项目的核心功能模块和业务流程
     ② 根据需求编写项目核心功能模块的测试点和测试用例
     ③ 设计商城项目业务流程的测试用例
     ④ 执行测试用例并提交缺陷
     ⑤ 使用数据库和fiddler抓包工具协助功能测试执行

流程：① web项目环境准备 - web项目（通过浏览器打开、访问应用的项目，或B/S架构，Brower浏览器、Server服务器
                                                          C/S架构，Client客户端、Server服务端）-需要安装app的是客户端，直接打开网页的是浏览器

          11、知道项目环境的组成架构
                 pc       -     VPN专网 - 防火墙 - 服务器 - 数据库
                      域名/IP地址
                 |=======客户/前端======|         |==服务端/后端==|
          12、知道项目环境的软硬件组成
          13、知道项目环境的安装步骤
          14、搭建出可用的项目测试环境
     ② 熟悉tpshop项目
          21、知道熟悉项目的作用
                 面试时介绍项目
                 公司测试时入手项目
          22、明确熟悉项目的标准
                 熟悉项目的核心模块
                 熟悉项目的核心业务流程-用户使用过程
          23、掌握快速熟悉项目的方法
                 熟悉项目的用户和角色 - 给谁用？
                 熟悉项目的组织架构 - 功能模块又哪些？
                 熟悉项目的核心业务流程 - 用户如何用？
                 熟悉项目的核心功能模块 - 最重要的功能？
          24、应用：熟悉tpshop商城项目
                核心模块：前台购买流程
                        后台发货流程
                        商品退换货流程
                技术栈：LAMP-linux（centos7）、Apache、MySQL、PHP
** 背 ③ 项目测试流程介绍
    《面试题：公司怎么做软件产品的测试？                        ============================222
           1、需求评审：             对于产品编写需求文档进行评审和评估的过程
           2、编写测试计划和测试方案：  实施测试过程中需要的设备、资源、时间等信息
                 测试计划的核心内容：
                     11、明确的测试目标和测试范围（最终达成的要求、测试多少）
                     12、执行计划的角色与职责（什么人干什么事）
                     13、任务的进度安排与资源分配（花费多长时间、需要哪些资源）
                     14、风险评估和应急计划（可能遇到的风险，如何应对)
                     15、测试的准入/准出标准（什么时候开始，什么时候结束）
                 测试方案的核心内容：-怎么测
                     11、测试策略（具体适使用的方式方法，如何完成测试工作）
                     12、测试环境的规划
                     13、测试工具的设计和选择（禅道、fiddler等工具）
           3、测试用例设计和评审：     将需求转化为具体可验证的测试点
           4、测试执行并提交缺陷：     执行评审后的用例，验证产品质量
           5、编写测试报告：          对于整体测试过程的总结和质量说明
     ④ tpshop商城项目功能测试 - 模块测试
     ⑤ tpshop商城项目功能测试 - 业务流程测试
     ⑥ 功能测试辅助 - 数据库和抓包工具
     ⑦ 非功能测试
     ⑧ 项目测试总结报告
安装Tpshop（管理员信息：admin/123456）和小皮（路径不能包含中文、空格等）
拆分：前台（从上到下，从左到右，单模块 - 顶部区域、头部区域、展示区域、底部区域）
测试设计思路：
   1、熟悉需求：
        ① 文档：需求说明书
                原型图
                Ui设计图
        ② 环境：测试环境
        ③ 人员：产品经理
                测试老员工
   2、测试点整理 - 难点：
        ① 根据需求拆分不同的功能点：观察法
                               用例设计方法（等价类、边界值、判定表、流程图）
        ② 可以按照原型图拆分：所见及所测（与被测对象紧密相关的功能，看见的都要测）
   3、编写测试用例：按照用例模板编写
   4、评审测试用例：查漏补缺
                 理解一致
                 指导执行
   5、执行测试用例：按顺序执行
                 按优先级执行
   6、缺陷跟踪：测试失败（failed）- 提bug：可复现
                                      唯一性
                                      规范性
                               验证bug：回归测试-验证版本号
             测试通过（pass）
TODO 轮播图案例
打开小皮，启动apache、mysql
前台页面，浏览器输入：http://localhost/index.php
后台页面，浏览器输入：http://localhost/index.php/Admin/Index/index
.mini：sql_mode=NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION（已删除）

1、作用：热点商品的动态展示（核心位置的广告宣传）
2、需求文档：
      ① 显示1-5张banner图片，自动轮播，3秒切换一张，如果只有1张banner图片，则不轮播
      ② 鼠标悬停在图片上时，停止轮播
      ③ 底下的五个点，实心为当前图，虚心圈可以点击跳转，点击轮播图本身也可以跳转
      ④ <  >，可点击左右切换，每次切换一张图
3、根据需求文档整理测试点（见轮播图banner.xmind)
     注：轮播图后台管理 - 系统 - 广告 - 首页banner - 搜索
TODO 购物车需求
1、作用：将我们临时相中的商品添加到购物车，方便最后下单结算
2、需求文档：
      ① 购物车没有商品，提示马上去购物
      ② 购物车有商品，显示购物车内商品内容
           11、商品对应价格应和加入购物车时一致
           12、小计：正确计算 = 单价 * 数量
           13、已选择：n件商品，其中n件为选中商品件数总和
           14、合计：购物车中商品总价
           15、点击商品图片或者名称，跳转商品详情页面
           16、点击【继续购物】，跳转商品购物页面
           17、点击【去结算】，跳转填写核对订单页
      ③ 购物车添加商品
           21、从商品显示页面中通过【加入购物车】，向购物车中添加商品
           22、商品购买数量可以直接填写，也可以通过数字旁的【+】和【-】号进行编辑
           23、单个商品添加购物车数量不能小于1，同时不能大于200
           24、单个商品添加购物车数量不能大于商品库存数量
           25、当商品购买数量为1时，【-】号按钮失效
           26、当商品购买数量等于200或库存数量时，【+】号按钮失效
           27、添加购物车的商品种类数量不能大于20种，否则给出提示：购物车最多只能放20种商品
      ④ 购物车删除商品
           31、点击商品栏里操作中的【×】号后，购物车中对应商品被删除
           32、勾选多个商品，点击【删除选中商品】，购物车中对应的选中商品被删除
           33、勾选【全选】时，所有商品被选中，点击【删除选中商品】，所有商品均被删除
      ⑤ 购物车编辑商品购买数量
           41、通过商品数量旁的【+】和【-】号进行设置
                  不能小于最小值1，为1时，【-】号不可用
                  超过单个商品最大限制200或达到库存量时，【+】号不可用
           42、通过修改编辑框中的数字，直接修改数量
                  单个商品数量最小为1，最大为200，小于1或大于200时，给出提示：商品数量必须大于0/购买商品数量不能大于200
                  编辑商品购买数量不能大于商品库存数量
3、根据需求文档整理测试点（见.xmind)

TODO 会员管理
平台位置：后台 - 系统 - 会员 - 会员列表
1、作用：管理会员用户的地方（前台注册的普通用户）
2、需求文档：
      ① 顶部区域：
           11、操作提示信息正确显示，点击食指向上的按键，能够收起提示信息
           12、刷新按钮，能正常工作，点击该按钮，页面数据更新
           13、列表支持手机或者邮箱的精准查询，搜索功能，支持enter快捷操作
      ② 添加会员
           21、会员昵称：必填，长度在20个字符（除去空格）以内，（会员昵称）可以重复
           22、登陆密码：必填，6-16位字母数字符号组合，（可以是纯数字、纯字母、纯符号）
           23、手机号：未注册的，第一位是1，第二位大于2的11位自然数
           24、邮箱地址：用户名@域名（@前的用户名只能包含字母、数字、下划线），邮箱地址不能重复
           25、QQ：6-11位的自然数，选填，可以重复
           26、性别：保密，男，女
           27、手机、邮箱必填
           28、提交成功，跳转到列表页面，列表增加一条数据
           29、内容填写错误，点击确认提交，提示对应的错误信息
      ③ 导出会员
      ④ 发送站内信
      ⑤ 发送邮件
      ⑥ 会员列表
      ⑦ 查看会员详情
      ⑧ 管理会员资金
      ⑨ 管理会员收货地址
3、根据需求文档整理测试点（见.xmind)
'''